<?php
    /**
     * Reporte Grafico que muestra al usuario por Número de Casos Sospechosos, Confirmados y de Defunciones de acuerdo a rangos de Edad de los Pacientes.
     * El reporte se genera a partir de seleccionar el Tipo de Paciente, Institución y Entidad.
     * @desc Gráfica de Casos Sospechos y Confirmados por Grupos de Edad.
     *
     * @filesource
     * @category     Tablero de Control de Influenza
     * @version      1.0     
     * @uses     PHPlot
     * @internal sector
     * @internal nEstado
     * @internal tipoPaciente
     * @method   SetXLabel()
     * @method   SetYLabel()
     * @method   SetTTFPath()
     * @method   SetDefaultTTFont()
     * @method   SetLegend()
     * @method   SetXDataLabelAngle()
     * @method   SetDataColors()
     * @method   SetPlotAreaWorld()
     * @method   SetYTickIncrement()
     * @method   SetXTickIncrement()
     * @method   SetXTickLabelPos()
     * @method   SetXTickPos()
     * @method   SetPrecisionY()
     * @method   SetXLabelAngle()
     * @method   SetFont()
     * @method   SetBackgroundColor()
     * @method   SetTextColor()
     * @method   SetTitleColor()
     * @method   SetPlotBorderType()
     * @method   DrawGraph()
     * @method   PrintError()
     *
     */
include('../Lib/php/conex.php');
$link= conectaSQL("influenza","inf123456","influenza");
include('../Lib/php/fechas.php');

import_request_variables("gP");

if ($sector > 1) $filtroSector = " and a.id_sector = $sector ";
if ($nEstado > 0 and $nEstado < 99) $filtroEstado = " and nEntidad = $nEstado";

//$nTipoPaciente = "nTipoPaciente in (1,2)";

// CONSTRUYE QUERY
//---------------------------------------------------------------------------------------------------------
$sql ="SELECT  b.grupo,count(*),sum(case when nLabResultado = 1 then 1 else 0 end),
		sum(case when a.nLabResultado = 1 and a.nEvolucion = 4 then 1 else 0 end)
		FROM cat_gedad b	
		left join (
	select a.*,b.nDias,b.nMeses,b.nAnio from dat_registro a inner join dat_generales b ON (a.id_generales = b.id_principal) 
	where $TipoPaciente and a.nStatus = 1  $filtroSector $filtroEstado)  a 
		on (dbo.fEdad(a.nDias,a.nMeses,a.nAnio) <= b.edad_final and dbo.fEdad(a.nDias,a.nMeses,a.nAnio) >= b.edad_inicial)
		group by b.grupo,b.id_edad
		ORDER BY b.id_edad";

$resultado = mssql_query($sql,$link);
$registros = mssql_num_rows($resultado);

$i=0;
while ($filas = mssql_fetch_row($resultado)){
	$data[$i][0] = $filas[0];	
	$data[$i][1] = $filas[1];	
	$data[$i][2] = $filas[2];			
	$data[$i][3] = $filas[3];				
	$i++;
}			

//print_r($data);
//return;
include('../Lib/php/phplot-5/phplot.php');
$plot = new PHPlot(550, 300);

$which_btype = "full";				//Plot Border  // plotleft,plotright,both,full,none, 

$plot->SetDataType('text-data');
$plot->SetDataValues($data);

$plot->SetPlotType("bars");

//	$plot->SetXLabelType();
	$plot->SetXLabel($subtitulo_dias);
	$plot->SetYLabel("Casos");
	$plot->SetTTFPath(getcwd());
	$plot->SetDefaultTTFont("arial.ttf");	
	//$plot->SetTitle("CASOS DE ETI/IRAG NACIONAL POR GRUPOS DE EDAD");
    $plot->SetLegend(array("ETI/IRAG","A(H1N1)","DEFUNCIONES"));	
	$plot->SetXDataLabelAngle(90);	
	$plot->SetDataColors(array('orange','red', 'green', 'blue','SlateBlue',
'ivory','YellowGreen','beige','brown','gold','gray','yellow',
'lavender','magenta','azure1','aquamarine1','orchid','peru','pink','plum','purple','navy'));
	
 
// Coloca la escala del eje Y y el tipo de incremento
$plot->SetPlotAreaWorld(NULL, 0,NULL,NULL);
$plot->SetYTickIncrement($incremento);
$plot->SetXTickIncrement(1);
$plot->SetXTickLabelPos('none');
$plot->SetXTickPos('none');
$plot->SetPrecisionY(0);
$plot->SetXLabelAngle(90);	
$plot->SetFont('title','',8);	

//$plot->SetXTickIncrement(1);
 
 //Other settings
$plot->SetBackgroundColor("#FfFFFF");		
$plot->SetTextColor("blue");
$plot->SetGridColor("black");
$plot->SetLightGridColor(array(175,175,175));
$plot->SetTickColor("black");
$plot->SetTitleColor("navy"); // Can be array or name
$plot->SetPlotBorderType($which_btype);		


if($registros > 0){
	$plot->DrawGraph();
}else{
	$plot->PrintError("No existen casos en el periodo se�alado");
	//$plot->PrintError($sql);
}


?>